home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power DOS 1996 July
/
Power DOS - July 1996.iso
/
sound
/
c_labs
/
devinfo
/
mpu401.exe
/
MIDITEST.C
next >
Wrap
C/C++ Source or Header
|
1996-04-18
|
5KB
|
127 lines
/* -------------------------------------------------------------------------- */
/* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY */
/* KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE */
/* IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR */
/* PURPOSE. */
/* */
/* You have a royalty-free right to use, modify, reproduce and */
/* distribute the Sample Files (and/or any modified version) in */
/* any way you find useful, provided that you agree that */
/* Creative has no warranty obligations or liability for any Sample Files. */
/*----------------------------------------------------------------------------*/
/* ---------------------------------------------------------------------------
Program: Sound Blaster 16 MIDI test program
Filename: MIDITEST.C
Author: Scott E. Sindorf
Date: 30 Jun 93
Language: Borland C
Copyright (c) 1993-1996 Creative Labs, Inc.
-----------------------------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
#include "sbcutils.h"
#include "midiutil.h"
extern BLASTREC blastInfo;
const char blastErr[] = "\n\007Error - BLASTER environment variable not found.";
const char MPUAddrErr[] = "\n\007Error - MPU-401 port address field is missing in \
BLASTER environment variable.";
const char BasAddrErr[] = "\n\007Error - Base address field is missing in \
BLASTER environment variable.";
const char noPortErr[] = "\n\007Error - MIDI hardware not detected.";
const char initErr[] = "\n\007Error - Unable to initialize MIDI port";
void main(void)
{
char keyboard;
printf("Do you have a MIDI input device connected? (Y,N) ");
keyboard = getch();
printf("\n\n");
if(GetBlastInfo(&blastInfo) == OK) // get BLASTER environment variable
{
printf("\n\tBLASTER environment variable was found\n\n");
//----------------------//
// MPU-401 Example Code //
//----------------------//
MIDIType = MPU401;
printf("\tMIDI interface = MPU-401\n");
if(blastInfo.midiPort != 0) // was MPU-401 port found?
{
printf("\tMPU-401 port address is %Xh\n", blastInfo.midiPort);
if(Detect_MIDI() == OK) // was hardware detected?
{
printf("\tHardware was detected\n");
if(Init_MIDI() == OK) // initialize MPU-401 port
{
printf("\tMPU-401 port initialized properly\n");
if((keyboard == 'Y') || (keyboard == 'y'))
{
printf("\n\tMIDI Thru test - Hit any key to continue\n\n");
while(!kbhit())
Write_MPU401_Data(Read_MPU401_Data());
getch(); // clear keystroke
}
Exit_MIDI();
printf("\tMIDI driver has been terminated\n\n");
}
else
printf(initErr);
}
else
printf(noPortErr);
}
else
printf(MPUAddrErr);
//---------------------//
// SBMIDI Example Code //
//---------------------//
MIDIType = SBMIDI;
printf("\tMIDI interface = SBMIDI\n");
if(blastInfo.baseAddr != 0) // was base Address found?
{
printf("\tSound Blaster base address is %Xh\n", blastInfo.baseAddr);
if(Detect_MIDI() == OK) // was hardware detected?
{
printf("\tHardware was detected\n");
if(Init_MIDI() == OK) // initialize SBMIDI
{
printf("\tSBMIDI initialized properly\n");
if((keyboard == 'Y') || (keyboard == 'y'))
{
printf("\n\tMIDI Thru test - Hit any key to continue\n\n");
while(!kbhit())
Write_SBMIDI_Data(Read_SBMIDI_Data());
getch(); // clear keystroke
}
Exit_MIDI();
printf("\tMIDI driver has been terminated\n");
}
else
printf(initErr);
}
else
printf(noPortErr);
}
else
printf(BasAddrErr);
}
else
printf(blastErr);
}